from django import forms
from django.forms import ModelForm
from models import InformeInstitucional, Universidad

class InformeInstitucionalForm(forms.ModelForm):
    
    class Meta:
        model = InformeInstitucional
        fields = ('fecha','informe', 'archivo')
    
#     Alteracion del metodo save() de manera a poder guardar la universidad a quien corresponde ese informe.
#     parametros distintos que el save() original:
#         - user : usuario quien cargo el informe, a partir de este dato se obtiene la universidad a cual corresponde el informe.
#    
    def save(self, user, *args, **kwargs):
        commit = kwargs.pop('commit', True)
        instance = super(InformeInstitucionalForm, self).save(*args, commit=False, **kwargs)
        instance.universidad = Universidad.objects.get(administrador=user.pk)
        instance.usuario = user

        if commit:
            instance.save()

        return instance

